#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>

int main()
{
    const char *name = "./test.txt";
    int fd1 = open(name, O_RDWR | O_CREAT, 0644);//0644文件权限
    if(fd1 == -1)
    {
        perror("open error");//打开失败 ,那就创建o-creta
        return -1;
    }

    printf("fd1:%d\n", fd1);//非负整数

    int fd2 = open(name, O_RDWR | O_CREAT, 0644);//0644文件权限
    if(fd2 == -1)
    {
        perror("open error");//打开失败 ,那就创建o-creta
        return -1;
    }

    printf("fd2:%d\n", fd2);//非负整数

    int fd3 = open(name, O_RDWR | O_CREAT, 0644);//0644文件权限
    if(fd3 == -1)
    {
        perror("open error");//打开失败 ,那就创建o-creta
        return -1;
    }

    printf("fd3:%d\n", fd3);//非负整数

    int fd4 = open(name, O_RDWR | O_CREAT, 0644);//0644文件权限
    if(fd4 == -1)
    {
        perror("open error");//打开失败 ,那就创建o-creta
        return -1;
    }
    
    //fd是资源，打开太多不够用，所以要关闭
    printf("fd4:%d\n", fd4);//非负整数

    //关闭fd3,资源回收,为什么fd1为3
    close(fd3);


    printf("hello world\n");
    return 0;
}























